██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Modbus
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Il mwbwModbus è un mwcaprotocollo di comunicazione mwcqseriale creato nel 1979 da Modicon (azienda ora parte del gruppo mwcwSchneider Electric) per mettere in comunicazione i propri mwdacontrollori logici programmabili (PLC). È diventato uno mwdqstandard mwdgde facto nella comunicazione di tipo mwdwindustriale, ed attualmente è uno dei protocolli di connessione più diffusi al mondo fra i dispositivi elettronici industriali. Le principali ragioni di un così elevato utilizzo del Modbus rispetto agli altri protocolli di comunicazione sono:
1. Progettato pensando a utilizzi industriali
2. È un protocollo pubblicato apertamente e mwfqroyalty-free
3. Semplicità di installazione e mantenimento
Modbus consente la comunicazione fra diversi dispositivi connessi alla stessa mwgwrete, per esempio un sistema che misura la temperatura e l'umidità e comunica il risultato a un mwhacomputer. Modbus è spesso usato per connettere un computer supervisore con un'unità terminale remota (mwhqRTU) nel controllo di supervisione e sistemi di acquisizione dati (mwhgSCADA). Esistono due versioni del protocollo: su mwhwporta seriale (mwiaRS485 di default, ma anche mwiqRS232) e su mwigEthernet.
Esistono due varianti, con differenti rappresentazioni dei dati numerici e piccole differenze sul protocollo stesso. Modbus RTU è una rappresentazione dei dati compatta di tipo mwjaesadecimale. Modbus mwjqASCII è facilmente leggibile e ridondante. Entrambe le varianti usano la mwjgcomunicazione seriale. Il formato RTU fa seguire ai comandi/dati un campo checksum di tipo CRC (mwjwCyclic redundancy check) mentre il formato ASCII usa un checksum di tipo LRC (mwkaLongitudinal redundancy check). I nodi configurati per la variante RTU non possono comunicare con nodi configurati per l'ASCII e viceversa. Modbus/TCP è molto simile al Modbus RTU, ma trasmette i pacchetti del protocollo dentro pacchetti di dati mwkqTCP/IP.
A ogni periferica che necessita di comunicare per mezzo del Modbus viene assegnato un indirizzo unico. Ognuna di queste può inviare un comando Modbus, sebbene generalmente (nel seriale obbligatoriamente) solo una periferica agisce come master. Un comando Modbus contiene l'indirizzo Modbus della periferica con la quale si vuole comunicare. Solo quest'ultima agirà sul comando, sebbene anche le altre periferiche lo ricevano. Tutti i comandi Modbus contengono informazioni di controllo, che assicurano che il comando arrivato sia corretto. I comandi base possono chiedere ad un RTU di cambiare un valore in uno dei suoi registri, così come comandare alla periferica di restituire uno o più valori contenuti nei suoi registri.
Ci sono diversi modem che supportano Modbus. Alcuni di questi sono specificatamente progettati per questo protocollo. Alcune implementazioni usano fili, comunicazioni mwlawireless o anche mwlqSMS o mwlgGPRS. Problemi tipici in cui può imbattersi il progettista sono l'alta mwlwlatenza e problemi di temporizzazione.
Contents
• Varianti
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Varianti
Quasi tutte le implementazioni hanno variazioni dallo standard ufficiale. Differenti varietà non possono comunicare correttamente fra dispositivi di fornitori differenti. Alcune delle più comuni variazioni sono:
• Tipi di dati
• mwnwFloating point mwoaIEEE
• Interi a 32 bit
• Dati a 8 bit
• tipi di dati misti
• Campi bit su interi
• moltiplicatori per cambiare i dati da/in interi. 10, 100, 1000, 256 ...
• Estensioni del protocollo
• Indirizzi degli slave a 16 bit
• dimensione dei dati a 32 bit (1 indirizzo = 32 bit di dati restituiti)
• word swapped data
Limitazioni
• Modbus è stato progettato verso la fine degli mwrganni settanta per comunicare con i PLC. I tipi di dati sono limitati a quelli supportati dai PLC di quel tempo. Oggetti binari di grandi dimensioni non sono supportati.
• Non esiste un metodo standard con cui uno slave può indicare la rappresentazione o la descrizione dei suoi vari registri. Il protocollo gestisce unicamente mwsaparole a 16 bit che come tali possono essere interpretate come interi con o senza mwsqsegno, oppure numeri a virgola fissa o mwsgmobile, o array di bit. Analogamente non c'è nessuno standard per definire che cosa rappresenti un particolare registro: potrebbe essere una grandezza fisica come una velocità, una potenza, una temperatura, ma anche uno stato, un messaggio, un interruttore acceso/spento o altro ancora. è quindi necessario possedere una specifica fornita dal produttore del dispositivo che identifichi tutti i registri interpellabili e ne descriva il tipo, la natura e l'eventuale unità di misura.
Altri progetti
Altri progetti
• Wikimedia Commons
• Wikimedia Commons contiene immagini o altri file su Modbus
Collegamenti esterni - inglese
• mwtwModbus Organization sito ufficiale, su modbus.org.
• mwuqDescrizione dettagliata del protocollo, su modbus.org.
• mwuwCome funziona Modbus, su simplymodbus.ca.